I'm a heavy Eclipse PyDev + EGit user and looking to switch to PyCharm. In Eclipse, I can choose to add only certain hunks/lines of a file to the git index, the same as using git add -p
from the terminal. I find doing it through a GUI to be faster, and I have been looking for the same functionality in PyCharm. Does it exist? Thanks
For those who use Git Extensions: In the Commit window, select the file you want to partially commit, then select the text you want to commit in the right pane, then right-click on the selection and choose 'Stage selected lines' from the context menu.
Commit changes locally As your changes are ready to be committed, select the corresponding files or an entire changelist. If you press Ctrl+K , the entire active changelist will be selected. You can also select files under the Unversioned Files node — PyCharm will stage and commit these files in one step.
Starting from PyCharm version 2020.1, you can switch to a non-modal commit interface: select the Use non-modal commit interface option (enabled by default for new installations) on the Version Control | Commit page of the IDE settings Ctrl+Alt+S .
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.
PyCharm manages this through change lists. Here is an example.
VCS
-> Commit Changes
{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.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:
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
:
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:
Now, let's head back to the New Changelist
:
Now that we're done with our selective changes, press Commit
. After this, we can push:
I pushed to bitbucket, so let's see the changes:
As you can see, only the stuff in the New Changelist
was added.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With