How to commit a partial file (hunks) to git in pycharm

This is not currently supported. Follow this ticket for details (comment/watch to be notified when it will be implemented).

http://youtrack.jetbrains.com/issue/IDEA-63201


UPDATE 2018-03-13:

This functionality is now implemented (more or less) and will be available in 2018.1 version. A bit more can be found in this blog post.


Since Pycharm 2018 partial commit (similar to git add -p) can be set up by two settings:

  1. Settings-> General -> Other -> Highlight modified lines in gutter enter image description here

  2. Settings -> Version Control -> Changelists -> Track changed blocks in text files separately enter image description here

  3. After that, you will be able to move code blocks to different change-lists or de-select blocks from the commit

enter image description here enter image description here


PyCharm manages this through change lists. Here is an example.

  1. We create a new change list from an existing one (one that we've already created, or the default changelist).
  2. We make a couple of changes and hit VCS -> Commit Changes
  3. In the diagram below at {1}, you can see that the changelist is set to Default, and in {2} you can see the actual change. Right click on {2} and select the change.

enter image description here

Now, say we want to commit only this change. We can do this by adding it to a new changelist, by clicking on {3}, and this will pop up:

enter image description here

Since we don't have a new one, let's just create a new changelist using the dialog box. And then let's change the currently selected changelist to New Changelist:

enter image description here

Notice that there is only one file, with one change, just like our changelist. How about we add a few things from the default changelist to the new one:

enter image description here

Now, let's head back to the New Changelist:

enter image description here

Now that we're done with our selective changes, press Commit. After this, we can push:

enter image description here

I pushed to bitbucket, so let's see the changes:

enter image description here

As you can see, only the stuff in the New Changelist was added.

Tags:

Git

Pycharm